add_executable(implementation main.cpp pc/Pc.cpp pc/Pc.hpp pc/PcImpl.cpp pc/PcImpl.hpp pc/GraphicsCard.cpp pc/GraphicsCard.hpp pc/GraphicsCardImpl.cpp pc/GraphicsCardImpl.hpp)

###############################################################################
## 不使用命名空间
add_subdirectory(pc-non-namespace)
## 使用命名空间
add_subdirectory(pc-namespace)
## 使用命名空间2.0
add_subdirectory(pc-namespace-2)
## 使用命名空间但是使用平常的实体类
add_subdirectory(pc-namespace-concrete_class)
###############################################################################